package com.aaa.web.dao.iemployeedao;

import com.aaa.entity.BackRole;
import com.aaa.entity.Employee;
import com.aaa.entity.Per;
import com.aaa.web.commons.Result;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Mapper
@Component
public interface IEmployeeDao {
    /**
     * @Author yyh
     * @Description //获取所有员工信息
     * @Date 2019/1/3 9:44 
     * @Param [map]
     * @return java.util.List<com.aaa.entity.Employee>
     **/
    List<Employee> getAllEmployee(Map map);
    /**
     * @Author yyh
     * @Description //获取员工数量
     * @Date 2019/1/3 9:44 
     * @Param [map]
     * @return java.lang.Integer
     **/
    Integer getEmployeeCount(Map map);
    /**
     * @Author yyh
     * @Description //根据账户获取员工信息
     * @Date 2019/1/3 9:44 
     * @Param [telephone]
     * @return com.aaa.entity.Employee
     **/
    Employee getEmployeeById(String telephone);
    /**
     * @Author yyh
     * @Description //获取所有的角色
     * @Date 2019/1/3 9:45 
     * @Param []
     * @return java.util.List<com.aaa.entity.Per>
     **/
    
    /**
     * @Author yyh
     * @Description //根据员工账号获取该员工的角色
     * @Date 2019/1/3 9:45 
     * @Param [id]
     * @return java.util.List<com.aaa.entity.Per>
     **/
    List<Per> getEmployeeRoleById(Integer id);
    /**
     * @Author yyh
     * @Description //删除员工的角色
     * @Date 2019/1/3 9:45 
     * @Param [id]
     * @return java.lang.Integer
     **/
    Integer deleteRole(int id);
    /**
     * @Author yyh
     * @Description //插入角色信息
     * @Date 2019/1/3 9:46 
     * @Param [map]
     * @return java.lang.Integer
     **/
    Integer insertRole(Map map);
    /**
     * @Author yyh
     * @Description //根据账户获取某个员工的角色
     * @Date 2019/1/3 9:48 
     * @Param [telephone]
     * @return java.util.List<com.aaa.entity.Per>
     **/
    List<Per> getEmployeeRoleByPhone(String telephone);
    /**
     * @Author yyh
     * @Description //根据角色id获取父级权限
     * @Date 2019/1/3 9:50 
     * @Param [id]
     * @return java.util.List<com.aaa.entity.Per>
     **/
    List<Per> getParRole(Integer id);
    /**
     * @Author yyh
     * @Description //为某员工插入角色信息
     * @Date 2019/1/3 9:50 
     * @Param [map]
     * @return java.lang.Integer
     **/
    Integer insertParRole(Map map);
    /**
     * @Author yyh
     * @Description //添加员工
     * @Date 2019/1/3 9:51 
     * @Param [emp]
     * @return java.lang.Integer
     **/
    Integer addEmp(Employee emp);
    /**
     * @Author yyh
     * @Description //编辑员工
     * @Date 2019/1/3 9:51 
     * @Param [emp]
     * @return java.lang.Integer
     **/
    Integer updateEmp(Employee emp);
    /**
     * @Author yyh
     * @Description //更新员工的状态
     * @Date 2019/1/3 9:51 
     * @Param [emp]
     * @return java.lang.Integer
     **/
    Integer updateEmpState(Employee emp);
    /**
     * @Author yyh
     * @Description //获取所有的角色
     * @Date 2019/1/3 10:00
     * @Param []
     * @return java.util.List<com.aaa.entity.Per>
     **/
    List<Per> getAllRole();
}
